package demo.InterfaceDamo;

/**
 * 设计学生信息后台管理系统
 * 功能1、打印全班学生信息。功能2、打印全班学生平均成绩。
 * 需要实现多套方案
 * 方案1、打印全部学生信息，打印全部学生平均分
 * 方案2、打印全部学生信息（包含男女人数），打印全部学生平均分（去掉最高分和最低分）
 * <p>
 * Version: 1.0
 * Author: 瓶子
 */
public class TestRun {
    public static void main( String[] args ) {
        // 目标：完成接口案例，创建一个学生管理后台
        // 1、定义一个学术类，用于封装学生数据。
        // 2、准备学生数据。
        Student[] students = new Student[10];
        students[0] = new Student("小王", '男', 90);
        students[1] = new Student("小张", '女', 80);
        students[2] = new Student("小李", '男', 70);
        students[3] = new Student("小赵", '女', 60);
        students[4] = new Student("小孙", '男', 50);
        students[5] = new Student("小周", '女', 40);
        students[6] = new Student("小吴", '男', 30);
        students[7] = new Student("小郑", '女', 20);
        students[8] = new Student("小钱", '男', 10);
        students[9] = new Student("诸葛亮", '男', 100);

        // 3、提供两套业务实现方方案
        // -- 定义一个接口：必须完成全部学生信息打印和平均分打印。
        // -- 创建接口实现类，打印全部学生信息，打印全部学生平均分。
        // -- 创建第二套实现类，打印全部学生信息（包含男女人数），打印全部学生平均分（去掉最高分和最低分）。
        StudentsDateInterImpl1 student1 = new StudentsDateInterImpl1(students);
        student1.printAllStudentsInfos();
        student1.printAverageScore();

        StudentsDateInterImpl2 student2 = new StudentsDateInterImpl2(students);
        student2.printAllStudentsInfos();
        student2.printAverageScore();
    }


}
